﻿#include <codeimagegenerator/codeimagegenerator_p.h>
#include <common/codeimagegenerate/codeimageconfig.h>
#include <common/codeimagegenerate/codeimagegenerator.h>

CodeImageGenerator::CodeImageGenerator()
	: d_ptr(new CodeImageGeneratorPrivate(this))
{
}
CodeImageGenerator::CodeImageGenerator(const CodeImageConfig& config)
	: d_ptr(new CodeImageGeneratorPrivate(this, config))
{
}

CodeImageGenerator::~CodeImageGenerator()
{
}

QImage CodeImageGenerator::generate(const QString& data)
{

	Q_D(CodeImageGenerator);
	return d->generate(data);
}

QImage CodeImageGenerator::generate(const QString& data, const CodeImageConfig& config)
{
	Q_D(CodeImageGenerator);
	return d->generate(data, config);
}
void CodeImageGenerator::setCodeImageConfig(const CodeImageConfig& config)
{
	Q_D(CodeImageGenerator);
	d->setCodeImageConfig(config);
}

QImage CodeImageGenerator::createQRCode(const QString& data)
{
	return CodeImageGenerator(CodeImageConfig::defaultQRCode()).generate(data);
}

QImage CodeImageGenerator::createBarcode(const QString& data)
{
	return CodeImageGenerator(CodeImageConfig::defaultBarcode()).generate(data);
}

QList<BarcodeType> CodeImageGenerator::getSupportedFormats()
{
	return CodeImageGeneratorPrivate::getSupportedFormats();
}